//自定义 404 错误
// class NotFoundError extends Error {
//     constructor(message) {
//         super(message);
//         this.name = 'NotFoundError';
//     }
// }

function success(res,message, data,code=200) {
    res.status(code).json({
        status: true,
        msg: message,
        data,
    })
}

function failure(res, err) {
    if(err.name === 'SequelizeValidationError') {
        const errors = err.errors.map(error => error.message);
        return res.status(400).json({
            status: false,
            msg: '请求参数错误',
            err: errors
        })
    }
    if (err.name === 'BadRequestError') {
        return res.status(400).json({
          status: false,
          message: '请求参数错误',
          errors: [err.message]
        });
      }
    
      if (err.name === 'UnauthorizedError') {
        return res.status(401).json({
          status: false,
          message: '认证失败',
          errors: [err.message]
        });
      }
    if(err.name === 'NotFoundError') {
        return res.status(404).json({
            status: false,
            msg: '资源不存在',
            err: [err.message]
        })    
    }
    if (err.name === 'JsonWebTokenError') {
        return res.status(401).json({
          status: false,
          message: '认证失败',
          errors: ['您提交的 token 错误。']
        });
      }
      if (err.name === 'TokenExpiredError') {
        return res.status(401).json({
          status: false,
          message: '认证失败',
          errors: ['您的 token 已过期。']
        });
      }
    res.status(500).json({
        status: false,
        msg: '服务器错误',
        err: [err.message]
    })
}
module.exports = {
    // NotFoundError,
    success,
    failure
}